package warpper;

import object.Point;

/**
 * JDK5之后java退出了一个新特性：自动拆装箱
 */
public class IntegerDemo3 {
    public static void main(String[] args) {
        int a = 123;
        Integer in = Integer.valueOf(a);//通常，我们这样写把基本类型变量a装箱赋给包装类in

        //但是这儿，我们可以直接写：
        Integer in1 = 123;  //123可以直接赋给对应的包装类
        int in2 = in ;     //in包装类也可以直接赋值给对应的基本类型变量
        //这儿的相互赋值，是触发了编译器的"自动拆箱" "自动包装箱特性"

        //我们在下边写一个有参类
        doSome("hello");
        doSome(new Point(1,2));//因为object是所有类型的超类，所以可以这样写

        doSome(123);//123是int类型，基本数据类型不继承自Object，但是这儿触发了编译器的自动包装箱特性，所以不报错！！！
        //上边的句子相当于：doSome(Integer.valueOf(123));

    }
    public static void doSome(Object o){
    }
}
